﻿//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;

//namespace Sunny.WebControls
//{
//    public class AgeSearchItem : NumericRangeSearchItem
//    {
//        private Operator[] _OperatorOptions;
//        public override Operator[] Operators
//        {
//            get
//            {
//                if (this._OperatorOptions == null)
//                    this._OperatorOptions = new Operator[]
//                    {
//                        new Operator(">","{0}.AddYears({1})<DateTime.Now"),
//                        new Operator("≥","{0}.AddYears({1})<=DateTime.Now"),
//                        new Operator("<","{0}.AddYears({1})>DateTime.Now"),
//                        new Operator("≤","{0}.AddYears({1})>=DateTime.Now"),
//                        new Operator("=","{0}.AddYears({1})<=DateTime.Now&&{0}.AddYears({1}+1)>DateTime.Now"),
//                        new Operator("≠","{0}.AddYears({1})>DateTime.Now||{0}.AddYears({1}+1)<=DateTime.Now")
//                    };
//                return this._OperatorOptions;
//            }
//        }

//        public AgeSearchItem()
//        {
//            this.Field = "Birthday";
//        }

//        public override object GetInputValue(System.Web.UI.Control searcherInput)
//        {
//            object value = base.GetInputValue(searcherInput);
//            if (value == null)
//                return value;
//            return (int)(double)value;
//        }

//        //public override object GetInputValue(System.Web.UI.Control searcherInput)
//        //{
//        //    object value = base.GetInputValue(searcherInput);
//        //    if (value != null)
//        //        value = (int)(double)value;
//        //    return value;
//        //}

//        public override void SetInputValue(System.Web.UI.Control searcherInput, object value)
//        {
//            if (value != null)
//                value = (double)(int)value;
//            base.SetInputValue(searcherInput, value);
//        }

//        public override Sunny.WebControls.Searcher.WhereCommand GetCommand(string field, int index)
//        {
//            string command = null;
//            System.Collections.ArrayList parameters = new System.Collections.ArrayList();
//            System.DateTime now = System.DateTime.Now;
//            if (this.StartNumber.Value != null)
//            {
//                command = string.Format("{0}.AddYears(@{1})<=@{2}", field, index + parameters.Count, index + parameters.Count + 1);
//                parameters.Add((int)this.StartNumber.Value);
//                parameters.Add(now);
//            }
//            if (this.EndNumber.Value != null)
//            {
//                if (command != null)
//                    command += " and ";
//                command += string.Format("{0}.AddYears(@{1})>=@{2}", field, index + parameters.Count, index + parameters.Count + 1);
//                parameters.Add((int)this.EndNumber.Value);
//                parameters.Add(now);
//            }
//            if (parameters.Count == 0)
//                return null;
//            return new Sunny.WebControls.Searcher.WhereCommand { Text = command, Parameters = parameters.ToArray() };
//        }
//    }
//}